package com.newcapec.modules.iot.utils;

/**
 * 物联网错误代码
 *
 * @author steven
 * @email wangsen127@163.com
 */
public enum IotErrorCode {

    ERROR_UNKNOW(-1, "请求失败，并且失败原因未知"),
    JSON_IS_NULL(-2, "传送的JSON数据为空"),
    ERROR_ARGUMENT(-3, "参数或参数格式不正确"),
    ERROR_METHOD(-4, "调用方法名称未找到"),
    ERROR_CUSOMERCODE(-5, "客户代码未找到"),
    ERROR_SIGN(-6, "验证签名失败"),
    ERROR_PARAM(-7, "获取参数信息失败"),
    ERROR_BASE_OPERATIONMODE(-8, "获取系统基本信息异常，获取系统部署模式异常"),
    ERROR_ENTERPRISE_INFO(-9, "获取系统基本信息异常，获取企业信息异常"),
    ERROR_SCHOOL_CODE(-10, "企业唯一编码有误"),
    ERROR_CUSTACC_PARAERR(-11, "上传消费记录记录数异常"),
    ERROR_ARGUMENT_NONPWDTYPE(-12, "缺少密码类型"),
    ERROR_POSCODE(-13, "POSCODE有误"),
    ERROR_POSCODE_APPID(-14, "poscode对应的appid未找到"),
    ERROR_NFC_VERIFY(-15, "获取主密钥异常"),
    ERROR_STUDENT_INFO(-16, "非本校学生，禁止通行"),
    ERROR_NO_AUTHORITY(-17, "您未获得此出入口授权，禁止通行"),
    ERROR_PASS_INVALID(-18, "认证信息失效"),
    ERROR_QR_CODE(-19, "解析失败，非健康出入二维码"),
    ERROR_APPOINMENT_STATUS(-20, "预约状态错误"),
    ERROR_NO_APPOINMENT(-21, "您暂无预约本场馆"),
    ERROR_NO_OPEN_TIME(-22, "未到场馆开放时间"),
    ERROR_NO_VENUE(-23, "无该场馆"),
    ERROR_APPOINMENT_OUT_TIME(-24, "预约已超时"),
    ERROR_STUDENT_CUSTOMERID(-25, "非本校学生禁止入内"),
    ERROR_VENUE_CODE(-26, "非本场馆预约码"),
    ERROR_PASS_AUTH_CODE(-27, "异常的出入证认证状态"),
    ERROR_BASE_INFO_CODE(-28, "异常的基础信息状态"),
    ERROR_CHECK_USERINFO_CODE(-29, "异常的用户和记录信息"),
    ERROR_JIJU_RELA_CODE(-30, "设备未关联进出口"),
    ERROR_APPLYING(-31, "进校申请正在审核，请稍后再试"),
    ERROR_OUT_SCHOOL(-32, "已出校，请重新申请"),
    ERROR_REFUSE(-33, "进校申请未通过，请重新申请"),
    ERROR_OUT_TIME(-34, "未到访客申请时间范围内"),
    ERROR_VISITOR_INFO(-35, "申请记录已过期，请重新申请"),
    ERROR_VISITOR_SWITCH(-36, "该出入口未开启访客授权，禁止通行"),
    ERROR_VISITOR_FORBID(-37, "不支持终端验证");

    private int errcode;
    private String errmsg;

    private IotErrorCode(int errcode, String errmsg) {
        this.setErrcode(errcode);
        this.setErrmsg(errmsg);
    }

    public int getErrcode() {
        return errcode;
    }

    public void setErrcode(int errcode) {
        this.errcode = errcode;
    }

    public String getErrmsg() {
        return errmsg;
    }

    public void setErrmsg(String errmsg) {
        this.errmsg = errmsg;
    }

    public static IotResponse responseMsg(IotResponse data, IotErrorCode err) {
        data.setRetcode(err.getErrcode());
        data.setRetmsg(err.getErrmsg());
        return data;
    }
}